# 调用方法，传入4个键盘输入的数字，并求和。返回打印。
def method1():
    int_list = []
    for i in range(0, 4):
        ii = int(input(f"请输入4个数字，当前第{i + 1}个："))
        int_list.append(ii)
    sum_res = sum(int_list)
    print(f"和为：{sum_res}")


def method2():
    int_list = [1, 23, 45, 6]
    sum_res = sum(int_list)
    print(f"和为：{sum_res}")


# 九九乘法表
def method3():
    method4(9)


# N*N乘法表
def method4(n):
    for i in range(1, n + 1):
        for j in range(1, i + 1):
            print("{}*{}={}".format(j, i, i * j), end=' ')
        print('')


def method5(the_list, n):
    length = len(the_list)
    if length > n:
        return the_list[n]
    else:
        return -1


def d_sum(n):
    if n == 1:
        return 1
    else:
        return n + d_sum(n - 1)


# 递归求 1-300的和
def method6():
    res = d_sum(300)
    print(res)


def method7():
    cs = ['小明', '小张', '小黄', '小杨']
    yf = ['小黄', '小李', '小王', '小杨', '小周']
    sc = ['小杨', '小张', '小吴', '小冯', '小周']
    cs_set = set(cs)
    yf_set = set(yf)
    sc_set = set(sc)
    # 1)求部门员工总共有多少人
    total_persons1 = cs_set.union(yf_set).union(sc_set)
    print(total_persons1)
    print(f"总共人数：{len(total_persons1)}")
    # 2)求只在一个部门存在的人的数量和对应的名字
    only_cs = cs_set - yf_set - sc_set
    only_yf = yf_set - cs_set - sc_set
    only_sc = sc_set - yf_set - cs_set
    print("求只在一个部门存在的人的数量和对应的名字：")
    print(f"测试部：{only_cs}, 人数：{len(only_cs)}")
    print(f"研发部：{only_yf}, 人数：{len(only_yf)}")
    print(f"测试部：{only_sc}, 人数：{len(only_sc)}")
    # 3)在两个部门以及以上的人员有哪些
    res_set = (cs_set - only_cs).union(yf_set - only_yf).union(sc_set - only_sc)
    print(f"在两个部门以及以上的人员有：{res_set}")


# N*N的乘法表的倒叙打印
def method8(n):
    for i in range(n, 0, -1):
        for j in range(1, i + 1):
            print("{}*{}={}".format(j, i, i * j), end=' ')
        print("")


if __name__ == '__main__':
    # th_list = [10, 45, 82, 32]
    # print(method5(th_list, 6))
    # method6()
    method8(9)
